1. Field of the Invention
This invention relates to digital processing systems and, more particularly, to programmed I/O mechanisms in such systems.
2. Description of the Related Art
Programmed input/output (PIO) transactions may be used to access the I/O space of an I/O device or peripheral. More particularly, PIO transactions may be used, for example, to write to configuration space registers in one or more I/O devices or peripherals, or to access an I/O device's memory.
In many systems, although PIO transactions are necessary, there may be issues when performing PIO transactions. For example, in many cases, a processor may perform a PIO write and then wait for an acknowledgement. In some systems the processor may be stalled while the PIO write is completing and prior to an acknowledgement being received. This may be particularly problematic when a processor is configuring a device for the first time, or reconfiguring a device, and the processor sends a burst of PIO writes. Accordingly, PIO transaction acknowledgement latency can be an important issue. However, trying to balance these latencies along with transaction ordering and PIO error reporting can be difficult in conventional systems.